//////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2008-2010, Shane J. M. Liesegang
// All rights reserved.
// 
// Redistribution and use in source and binary forms, with or without 
// modification, are permitted provided that the following conditions are met:
// 
//     * Redistributions of source code must retain the above copyright 
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright 
//       notice, this list of conditions and the following disclaimer in the 
//       documentation and/or other materials provided with the distribution.
//     * Neither the name of the copyright holder nor the names of any 
//       contributors may be used to endorse or promote products derived from 
//       this software without specific prior written permission.
// 
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
// POSSIBILITY OF SUCH DAMAGE.
//////////////////////////////////////////////////////////////////////////////

USEINPUTKEY(ANGEL_KEY_A,'a',"A")
USEINPUTKEY(ANGEL_KEY_B,'b',"B")
USEINPUTKEY(ANGEL_KEY_C,'c',"C")
USEINPUTKEY(ANGEL_KEY_D,'d',"D")
USEINPUTKEY(ANGEL_KEY_E,'e',"E")
USEINPUTKEY(ANGEL_KEY_F,'f',"F")
USEINPUTKEY(ANGEL_KEY_G,'g',"G")
USEINPUTKEY(ANGEL_KEY_H,'h',"H")
USEINPUTKEY(ANGEL_KEY_I,'i',"I")
USEINPUTKEY(ANGEL_KEY_J,'j',"J")
USEINPUTKEY(ANGEL_KEY_K,'k',"K")
USEINPUTKEY(ANGEL_KEY_L,'l',"L")
USEINPUTKEY(ANGEL_KEY_M,'m',"M")
USEINPUTKEY(ANGEL_KEY_N,'n',"N")
USEINPUTKEY(ANGEL_KEY_O,'o',"O")
USEINPUTKEY(ANGEL_KEY_P,'p',"P")
USEINPUTKEY(ANGEL_KEY_Q,'q',"Q")
USEINPUTKEY(ANGEL_KEY_R,'r',"R")
USEINPUTKEY(ANGEL_KEY_S,'s',"S")
USEINPUTKEY(ANGEL_KEY_T,'t',"T")
USEINPUTKEY(ANGEL_KEY_U,'u',"U")
USEINPUTKEY(ANGEL_KEY_V,'v',"V")
USEINPUTKEY(ANGEL_KEY_W,'w',"W")
USEINPUTKEY(ANGEL_KEY_X,'x',"X")
USEINPUTKEY(ANGEL_KEY_Y,'y',"Y")
USEINPUTKEY(ANGEL_KEY_Z,'z',"Z")
USEINPUTKEY(ANGEL_KEY_1,'1',"ONE")
USEINPUTKEY(ANGEL_KEY_2,'2',"TWO")
USEINPUTKEY(ANGEL_KEY_3,'3',"THREE")
USEINPUTKEY(ANGEL_KEY_4,'4',"FOUR")
USEINPUTKEY(ANGEL_KEY_5,'5',"FIVE")
USEINPUTKEY(ANGEL_KEY_6,'6',"SIX")
USEINPUTKEY(ANGEL_KEY_7,'7',"SEVEN")
USEINPUTKEY(ANGEL_KEY_8,'8',"EIGHT")
USEINPUTKEY(ANGEL_KEY_9,'9',"NINE")
USEINPUTKEY(ANGEL_KEY_0,'0',"ZERO")



USEINPUTKEY(ANGEL_KEY_MINUS,'-',"MINUS")
USEINPUTKEY(ANGEL_KEY_PLUS,'+',"PLUS")
USEINPUTKEY(ANGEL_KEY_LEFTBRACE,'[',"LEFTBRACE")
USEINPUTKEY(ANGEL_KEY_RIGHTBRACE,']',"RIGHTBRACE")
USEINPUTKEY(ANGEL_KEY_FORWARDSLASH,'\\',"FORWARDSLASH")
USEINPUTKEY(ANGEL_KEY_SEMICOLON,';',"SEMICOLON")
USEINPUTKEY(ANGEL_KEY_APOSTROPHE,'\'',"APOSTROPHE")
USEINPUTKEY(ANGEL_KEY_COMMA,',',"COMMA")
USEINPUTKEY(ANGEL_KEY_PERIOD,'.',"PERIOD")
USEINPUTKEY(ANGEL_KEY_BACKSLASH,'/',"BACKSLASH")
USEINPUTKEY(ANGEL_KEY_SPACE,' ',"SPACE")
USEINPUTKEY(ANGEL_KEY_ESCAPE, GLFW_KEY_ESC, "ESCAPE")
USEINPUTKEY(ANGEL_KEY_F1, GLFW_KEY_F1, "F1")
USEINPUTKEY(ANGEL_KEY_F2, GLFW_KEY_F2, "F2")
USEINPUTKEY(ANGEL_KEY_F3, GLFW_KEY_F3, "F3")
USEINPUTKEY(ANGEL_KEY_F4, GLFW_KEY_F4, "F4")
USEINPUTKEY(ANGEL_KEY_F5, GLFW_KEY_F5, "F5")
USEINPUTKEY(ANGEL_KEY_F6, GLFW_KEY_F6, "F6")
USEINPUTKEY(ANGEL_KEY_F7, GLFW_KEY_F7, "F7")
USEINPUTKEY(ANGEL_KEY_F8, GLFW_KEY_F8, "F8")
USEINPUTKEY(ANGEL_KEY_F9, GLFW_KEY_F9, "F9")
USEINPUTKEY(ANGEL_KEY_F10, GLFW_KEY_F10, "F10")
USEINPUTKEY(ANGEL_KEY_F11, GLFW_KEY_F11, "F11")
USEINPUTKEY(ANGEL_KEY_F12, GLFW_KEY_F12, "F12")
USEINPUTKEY(ANGEL_KEY_F13, GLFW_KEY_F13, "F13")
USEINPUTKEY(ANGEL_KEY_F14, GLFW_KEY_F14, "F14")
USEINPUTKEY(ANGEL_KEY_F15, GLFW_KEY_F15, "F15")
USEINPUTKEY(ANGEL_KEY_F16, GLFW_KEY_F16, "F16")
USEINPUTKEY(ANGEL_KEY_F17, GLFW_KEY_F17, "F17")
USEINPUTKEY(ANGEL_KEY_F18, GLFW_KEY_F18, "F18")
USEINPUTKEY(ANGEL_KEY_F19, GLFW_KEY_F19, "F19")
USEINPUTKEY(ANGEL_KEY_F20, GLFW_KEY_F20, "F20")
USEINPUTKEY(ANGEL_KEY_F21, GLFW_KEY_F21, "F21")
USEINPUTKEY(ANGEL_KEY_F22, GLFW_KEY_F22, "F22")
USEINPUTKEY(ANGEL_KEY_F23, GLFW_KEY_F23, "F23")
USEINPUTKEY(ANGEL_KEY_F24, GLFW_KEY_F24, "F24")
USEINPUTKEY(ANGEL_KEY_F25, GLFW_KEY_F25, "F25")
USEINPUTKEY(ANGEL_KEY_UPARROW, GLFW_KEY_UP, "UP_ARROW")
USEINPUTKEY(ANGEL_KEY_DOWNARROW, GLFW_KEY_DOWN, "DOWN_ARROW")
USEINPUTKEY(ANGEL_KEY_LEFTARROW, GLFW_KEY_LEFT, "LEFT_ARROW")
USEINPUTKEY(ANGEL_KEY_RIGHTARROW, GLFW_KEY_RIGHT, "RIGHT_ARROW")
USEINPUTKEY(ANGEL_KEY_LEFTSHIFT, GLFW_KEY_LSHIFT, "L_SHIFT")
USEINPUTKEY(ANGEL_KEY_RIGHTSHIFT, GLFW_KEY_RSHIFT, "R_SHIFT")
USEINPUTKEY(ANGEL_KEY_LEFTCONTROL, GLFW_KEY_LCTRL, "L_CONTROL")
USEINPUTKEY(ANGEL_KEY_RIGHTCONTROL, GLFW_KEY_RCTRL, "R_CONTROL")
USEINPUTKEY(ANGEL_KEY_LEFTALT, GLFW_KEY_LALT, "L_ALT")
USEINPUTKEY(ANGEL_KEY_RIGHTALT, GLFW_KEY_RALT, "R_ALT")
USEINPUTKEY(ANGEL_KEY_TAB, GLFW_KEY_TAB, "TAB")
USEINPUTKEY(ANGEL_KEY_ENTER, GLFW_KEY_ENTER, "ENTER")
USEINPUTKEY(ANGEL_KEY_BACKSPACE, GLFW_KEY_BACKSPACE, "BACKSPACE")
USEINPUTKEY(ANGEL_KEY_INSERT, GLFW_KEY_INSERT, "INSERT")
USEINPUTKEY(ANGEL_KEY_DELETE, GLFW_KEY_DEL, "DELETE")
USEINPUTKEY(ANGEL_KEY_PAGEUP, GLFW_KEY_PAGEUP, "PAGEUP")
USEINPUTKEY(ANGEL_KEY_PAGEDOWN, GLFW_KEY_PAGEDOWN, "PAGEDOWN")
USEINPUTKEY(ANGEL_KEY_HOME, GLFW_KEY_HOME, "HOME")
USEINPUTKEY(ANGEL_KEY_END, GLFW_KEY_END, "END")
USEINPUTKEY(ANGEL_KEY_KP_0, GLFW_KEY_KP_0, "KP_0")
USEINPUTKEY(ANGEL_KEY_KP_1, GLFW_KEY_KP_1, "KP_1")
USEINPUTKEY(ANGEL_KEY_KP_2, GLFW_KEY_KP_2, "KP_2")
USEINPUTKEY(ANGEL_KEY_KP_3, GLFW_KEY_KP_3, "KP_3")
USEINPUTKEY(ANGEL_KEY_KP_4, GLFW_KEY_KP_4, "KP_4")
USEINPUTKEY(ANGEL_KEY_KP_5, GLFW_KEY_KP_5, "KP_5")
USEINPUTKEY(ANGEL_KEY_KP_6, GLFW_KEY_KP_6, "KP_6")
USEINPUTKEY(ANGEL_KEY_KP_7, GLFW_KEY_KP_7, "KP_7")
USEINPUTKEY(ANGEL_KEY_KP_8, GLFW_KEY_KP_8, "KP_8")
USEINPUTKEY(ANGEL_KEY_KP_9, GLFW_KEY_KP_9, "KP_9")
USEINPUTKEY(ANGEL_KEY_KP_DIVIDE, GLFW_KEY_KP_DIVIDE, "KP_DIVIDE")
USEINPUTKEY(ANGEL_KEY_KP_MULTIPLY, GLFW_KEY_KP_MULTIPLY, "KP_MULTIPLY")
USEINPUTKEY(ANGEL_KEY_KP_SUBTRACT, GLFW_KEY_KP_SUBTRACT, "KP_SUBTRACT")
USEINPUTKEY(ANGEL_KEY_KP_ADD, GLFW_KEY_KP_ADD, "KP_ADD")
USEINPUTKEY(ANGEL_KEY_KP_DECIMAL, GLFW_KEY_KP_DECIMAL, "KP_DECIMAL")
USEINPUTKEY(ANGEL_KEY_KP_EQUAL, GLFW_KEY_KP_EQUAL, "KP_EQUAL")
USEINPUTKEY(ANGEL_KEY_KP_ENTER, GLFW_KEY_KP_ENTER, "KP_ENTER")

// XBOX BUTTONS
USEINPUTKEY(P1BUTTON_A, 1000, "P1BUTTON_A")
USEINPUTKEY(P1BUTTON_B, 1001, "P1BUTTON_B")
USEINPUTKEY(P1BUTTON_X, 1002, "P1BUTTON_X")
USEINPUTKEY(P1BUTTON_Y, 1003, "P1BUTTON_Y")

USEINPUTKEY(P1BUTTON_START, 1004, "P1BUTTON_START")
USEINPUTKEY(P1BUTTON_BACK, 1005, "P1BUTTON_BACK")

USEINPUTKEY(P1BUTTON_LEFTTHUMB, 1006, "P1BUTTON_LEFTTHUMB")
USEINPUTKEY(P1BUTTON_RIGHTTHUMB, 1007, "P1BUTTON_RIGHTTHUMB")

USEINPUTKEY(P1BUTTON_LEFTTRIGGER, 1008, "P1BUTTON_LEFTTRIGGER")
USEINPUTKEY(P1BUTTON_RIGHTTRIGGER, 1009, "P1BUTTON_RIGHTTRIGGER")

USEINPUTKEY(P1BUTTON_LEFTBUMPER, 1010, "P1BUTTON_LEFTBUMPER")
USEINPUTKEY(P1BUTTON_RIGHTBUMPER, 1011, "P1BUTTON_RIGHTBUMPER")

USEINPUTKEY(P2BUTTON_A, 1020, "P2BUTTON_A")
USEINPUTKEY(P2BUTTON_B, 1021, "P2BUTTON_B")
USEINPUTKEY(P2BUTTON_X, 1022, "P2BUTTON_X")
USEINPUTKEY(P2BUTTON_Y, 1023, "P2BUTTON_Y")

USEINPUTKEY(P2BUTTON_START, 1024, "P2BUTTON_START")
USEINPUTKEY(P2BUTTON_BACK, 1025, "P2BUTTON_BACK")

USEINPUTKEY(P2BUTTON_LEFTTHUMB, 1026, "P2BUTTON_LEFTTHUMB")
USEINPUTKEY(P2BUTTON_RIGHTTHUMB, 1027, "P2BUTTON_RIGHTTHUMB")

USEINPUTKEY(P2BUTTON_LEFTTRIGGER, 1028, "P2BUTTON_LEFTTRIGGER")
USEINPUTKEY(P2BUTTON_RIGHTTRIGGER, 1029, "P2BUTTON_RIGHTTRIGGER")

USEINPUTKEY(P2BUTTON_LEFTBUMPER, 1030, "P2BUTTON_LEFTBUMPER")
USEINPUTKEY(P2BUTTON_RIGHTBUMPER, 1031, "P2BUTTON_RIGHTBUMPER")
